main(){
  // 1.定义变量
  // 空安全机制
  // Dart如果声明变量没有赋值，初始值是null
  // 变量类型后添加？表示该变量可以为空
  String? name;   //相当于鸿蒙的String丨null
  
  // 2.判断是否为空
  if(name != null){
    // 3.不为空，进行操作
    print(name);
  }else{
    // 4.为空，进行操作
    print('姓名为空');
  }

  // 5.空安全运算符
  // 访问变量时，需要添加？表示该变量可能为空
  print(name?.length);
  // 调用方法时，需要添加？表示该方法可能为空
  print(name?.toUpperCase());

  // 6.空安全合并运算符
  // 如果变量为空，则返回默认值，不支持用||运算符设置默认值
  print(name ?? '默认值');
  // 如果变量为空，则执行后面的代码赋值
  name ??= '张三';
  print(name);

  // 7.非空断言运算符
  // 断言变量不为空，如果为空，则抛出异常
  print(name!.length);
}